package com.chenyaowei.member.domain;

import com.chenyaowei.common.annotation.Excel;
import com.chenyaowei.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;

/**
 * 会员统计信息对象 cyw_member_statistics_info
 * 
 * @author 陈耀威
 * @date 2023-11-30
 */
public class CywMemberStatisticsInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 会员id */
    @Excel(name = "会员id")
    private Long memberId;

    /** 累计消费金额 */
    @Excel(name = "累计消费金额")
    private BigDecimal consumeAmount;

    /** 累计优惠金额 */
    @Excel(name = "累计优惠金额")
    private BigDecimal couponAmount;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private Integer orderCount;

    /** 优惠券数量 */
    @Excel(name = "优惠券数量")
    private Long couponCount;

    /** 评价数 */
    @Excel(name = "评价数")
    private Long commentCount;

    /** 退货数量 */
    @Excel(name = "退货数量")
    private Long returnOrderCount;

    /** 收藏的商品数量 */
    @Excel(name = "收藏的商品数量")
    private Long collectProductCount;

    /** 积分 */
    @Excel(name = "积分")
    private Long integration;

    /** 成长值 */
    @Excel(name = "成长值")
    private Long growth;

    @Excel(name = "会员等级")
    private Integer memberLevel;

    @Transient
    private String memberLevelName;

    public String getMemberLevelName() {
        return memberLevelName;
    }

    public void setMemberLevelName(String memberLevelName) {
        this.memberLevelName = memberLevelName;
    }

    public Integer getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(Integer memberLevel) {
        this.memberLevel = memberLevel;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setConsumeAmount(BigDecimal consumeAmount) 
    {
        this.consumeAmount = consumeAmount;
    }

    public BigDecimal getConsumeAmount() 
    {
        return consumeAmount;
    }
    public void setCouponAmount(BigDecimal couponAmount) 
    {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getCouponAmount() 
    {
        return couponAmount;
    }
    public void setOrderCount(Integer orderCount)
    {
        this.orderCount = orderCount;
    }

    public Integer getOrderCount()
    {
        return orderCount;
    }
    public void setCouponCount(Long couponCount) 
    {
        this.couponCount = couponCount;
    }

    public Long getCouponCount() 
    {
        return couponCount;
    }
    public void setCommentCount(Long commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Long getCommentCount() 
    {
        return commentCount;
    }
    public void setReturnOrderCount(Long returnOrderCount) 
    {
        this.returnOrderCount = returnOrderCount;
    }

    public Long getReturnOrderCount() 
    {
        return returnOrderCount;
    }
    public void setCollectProductCount(Long collectProductCount) 
    {
        this.collectProductCount = collectProductCount;
    }

    public Long getCollectProductCount() 
    {
        return collectProductCount;
    }
    public void setIntegration(Long integration) 
    {
        this.integration = integration;
    }

    public Long getIntegration() 
    {
        return integration;
    }
    public void setGrowth(Long growth) 
    {
        this.growth = growth;
    }

    public Long getGrowth() 
    {
        return growth;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("memberId", getMemberId())
            .append("consumeAmount", getConsumeAmount())
            .append("couponAmount", getCouponAmount())
            .append("orderCount", getOrderCount())
            .append("couponCount", getCouponCount())
            .append("commentCount", getCommentCount())
            .append("returnOrderCount", getReturnOrderCount())
            .append("collectProductCount", getCollectProductCount())
            .append("integration", getIntegration())
            .append("growth", getGrowth())
            .toString();
    }
}
